package cn.xdf.docenhance

import android.graphics.Bitmap
import cn.xdf.docenhance.utils.ImageOps

/**
 * 简单 CPU 引擎占位：做对比度、亮度、锐化卷积（CPU），可替换为 MLKit/NNAPI/NDK。
 */
class SimpleCpuEngine : Enhancer.EnhanceEngine {
    override fun enhance(input: Bitmap, options: Enhancer.EnhanceOptions): Bitmap {
        var bitmap = input.copy(Bitmap.Config.ARGB_8888, true)
        if (options.enableLightness || options.enableTextEnhance) {
            val contrast = 1f + (options.textEnhanceLevel.coerceIn(0f, 1f) * 0.6f)
            val brightness = options.lightnessLevel.coerceIn(-1f, 1f) * 128f
            bitmap = ImageOps.adjustBrightnessContrast(bitmap, brightness, contrast)
        }
        // 简易锐化（仅在开启文本增强时）
        if (options.enableTextEnhance) {
            bitmap = ImageOps.sharpen(bitmap)
        }
        // 预设滤镜（占位，可扩展）
        options.presetFilter?.let { id ->
            bitmap = ImageOps.applyPresetFilter(bitmap, id)
        }
        return bitmap
    }
}

